<!-- 登录页 -->
<template>
	<view class="container">
		<view class="title">欢迎使用小程序</view>
		<view class="desc">请先授权登录</view>
		<button open-type="getUserProfile" @get-user-profile="onGetUserProfile" @click="onLogin" class="login-button">
			微信授权登录
		</button>
	</view>
</template>

<script>
	import {
		getLoginCode,
		loginToServer
	} from '@/src/api/auth.js'
	export default {
		data() {
			return {
				openid: '',
				userInfo: {}, // 用户信息
				hasUserInfo: false // 是否已经授权
			}
		},
		methods: {
			async onLogin() {
				// 获取微信登录凭证（code）
				const code = await getLoginCode();
				console.log('获取到的 code:', code);
				
				if (!code) {
					uni.showToast({
						title: '获取登录凭证失败，请重试',
						icon: 'none'
					});
					return;
				}
				
				// 将 userInfo 和 code 发送到后端进行登录验证
				const loginResponse = await loginToServer(code);
				console.log('登录响应:', loginResponse);
				
				if (loginResponse.status == 200) {
					this.openid = loginResponse.data.openid;
					// this.hasUserInfo = true;
					// 保存用户信息到本地缓存
					uni.setStorageSync('openid', this.openid);
					// uni.setStorageSync('hasUserInfo', this.hasUserInfo);
					// 同时保存到全局
					getApp().globalData.openid = this.openid;
					// getApp().globalData.hasUserInfo = this.hasUserInfo;
					// 跳转到闹钟页面（tabBar 的第一个）
					uni.reLaunch({
						url: '/pages/alarm/alarm'
					});
				} else {
					uni.showToast({
						title: '登录失败，请重试',
						icon: 'none'
					});
				}
			}
		}
	}
</script>

<style>
	.container {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100vh;
		background: #fff;
	}

	.title {
		font-size: 22px;
		margin-bottom: 10px;
	}

	.desc {
		font-size: 14px;
		color: #666;
		margin-bottom: 30px;
	}

	.login-button {
		background-color: #07C160;
		color: #fff;
		padding: 10px 25px;
		border-radius: 4px;
		font-size: 16px;
	}
</style>